package com.chenyi.user.mapper;

import java.util.List;
import com.chenyi.common.core.domain.entity.SysUser;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 用户信息Mapper接口
 * 
 * @author wangkh
 * @date 2020-10-10
 */
public interface SysUserMapper 
{
    /**
     * 查询用户信息
     * 
     * @param userId 用户信息ID
     * @return 用户信息
     */
    public SysUser selectUserById(Long userId);

    /**
     * 查询用户信息列表
     * 
     * @param sysUser 用户信息
     * @return 用户信息集合
     */
    public List<SysUser> selectUserList(SysUser sysUser);

    /**
     * 新增用户信息
     * 
     * @param sysUser 用户信息
     * @return 结果
     */
    public int insertUser(SysUser sysUser);

    /**
     * 修改用户信息
     * 
     * @param sysUser 用户信息
     * @return 结果
     */
    public int updateUser(SysUser sysUser);

    /**
     * 删除用户信息
     * 
     * @param userId 用户信息ID
     * @return 结果
     */
    public int deleteUserById(Long userId);

    /**
     * 批量删除用户信息
     * 
     * @param userIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteUserByIds(Long[] userIds);

    /**
     *
     * 查询手机号
     * @param phone 手机号
     * @param userType 用户类型
     * @return 结果
     */
    SysUser selectUserByPhone(@Param("phone") String phone,@Param("userType") String userType);

    /**
     * 查询Token
     * @param token 登录凭证
     * @return 结果
     */
    SysUser selectUserByToken(String token);


    /* 功能描述: <br>
     * 〈获取最后一个用户编号〉
     *
     * @return: java.lang.String
     * @Author: wangkh
     * @Date: 2020/11/2 0002 15:23
     */
    String selectFinallyUserNo();
}
